package cn.iocoder.yudao.module.product.selection.pojo.vo;

import cn.iocoder.yudao.framework.business.basic.pojo.dto.QueryDTO;
import cn.iocoder.yudao.framework.validation.InEnumValue;
import cn.iocoder.yudao.module.api.supply.enums.SupplyDataSourceEnum;
import cn.iocoder.yudao.module.api.supply.enums.SupplySpuStatusEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * <pre>
 * OOoO0OOoO0OOOooo0oOOOO0OOOOO0oooOO0ooOOO0Ooooo0OOOOo0ooooO0OOooo0Ooooo0OOOOO
 *  这里是文件说明
 * OOoO0OOoO0OOOooo0oOOOO0OOOOO0oooOO0ooOOO0Ooooo0OOOOo0ooooO0OOooo0Ooooo0OOOOO
 * </pre>
 *
 * @author 山野羡民（1032694760@qq.com）
 * @since 2025/03/11
 */
@Data
public class ProductSupplySelectionQueryDTO extends QueryDTO {

    @Schema(description = "来源：0-自有、1-甄新汇选", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @InEnumValue(SupplyDataSourceEnum.class)
    private Integer source;

    @Schema(description = "产品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long spuId;

    @Schema(description = "分类编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long categoryId;

    @Schema(description = "品牌编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long brandId;

    @Schema(description = "状态：1-已下架、2-已上架", example = "2")
    @InEnumValue(SupplySpuStatusEnum.class)
    private Integer status;

    @Schema(description = "是否多规格", example = "true")
    private Boolean multiSpec;

    @Schema(description = "是否包含快照数据，自营商城定时同步任务的分页获取数据要用到更新时间及快照数据", example = "false")
    private Boolean includeSnapshot;

}
